Responding to data transaction processing requests to an electronic data transaction processing system

ABSTRACT

Data transaction processing requests are received from user terminals over one or more data communications networks. Pending data transaction processing requests are stored in a memory queue. Each pending data transaction processing request has associated attributes and an associated queue number. A higher queue number associated with a pending data transaction processing request indicates a lower data transaction processing priority than a lower queue number associated with a pending data transaction processing request. Data message information is transmitted to user terminals that includes an identifier and a current status for pending data transaction processing requests stored in queue. A current data transaction processing request is received having an identifier for selecting a first pending data transaction processing request that has an associated queue number of two or higher over a lower queue number associated with a second pending data transaction processing request. Both the first pending data transaction processing request and the second pending data transaction processing request have associated attributes that match attributes of the current data transaction processing request. The current data transaction processing request is matched with the first pending data transaction processing request without matching the second pending data transaction processing request associated with the lower queue number.

This is a continuation of application Ser. No. 14/322,049, filed Jul. 2, 2014, which is a continuation of application Ser. No. 11/790,075, filed Apr. 23, 2007 (now U.S. Pat. 8,781,944), which claims priority from U.S. Provisional Application No. 60/813,721, filed Jun. 15, 2006, the entire contents of each of which are hereby incorporated by reference.

FIELD

The present invention relates to a method for matching orders in an electronic trading system. The present invention also relates to an electronic trading system.

BACKGROUND

Electronic trading systems have become more and more popular over the years and have replaced earlier, manual, forms of trading. Especially in the financial market has the electronic trading systems become more important to provide a fair and properly working market place for trading.

In the financial market it is known to have both open and anonymous trading systems for trading in financial instruments.

The term “financial instrument” is in the present application used in a broad sense and encompasses any tradable item (stocks, bonds, securities, cash, foreign exchange, options, gas, electricity, etc.) or group of items that is traded through matching of counterparty orders (bid, offer). An order normally includes a price and a volume of the item(s) or combination of items. The price and the volume can be viewed as order prerequisites that have to be met in order for a match (deal) to take place.

In a non-anonymous trading system there is basically a queue system for unmatched orders that ascertains that the order having highest priority will have a trade whenever a matching order is received in the system. Everyone using the system can view information about who has entered which order as well as details regarding price and volume. Some open trading systems provide additional features such as privileges that enable user to “hide” their full intentions (normally volume) and add this once a match is found without loosing their place in the queue.

Although one main purpose of an anonymous trading system is to establish a fair and equal marketplace where no user or party knows the origin of any specific order (bid or offer) on the system, there is sometimes a problem for parties who do not wish to trade with specific counterparties. The most common reason for not trusting other parties is creditability, but there may be other reasons as well.

In U.S. Pat. No. 5,136,501 an anonymous trading system is disclosed where the users may enter credit requirements for counterparties via trader terminals. As long as the credit limit is not exceeded, trading can go on as usual. If the credit is exceeded, matchable orders from those parties will not be matched by the system until the credit once again is below the credit limit.

All orders thus retain their anonymity, while the parties can ascertain that no deals (trades) will be made outside a specified credit limit, thus reducing risks.

In US Patent Application 2003/0083973 an anonymous trading system having credit limit is also disclosed. The trading system can, when the credit is insufficient for fulfilling a complete order, send a message to the parties where the parties are identified and asked whether they wish to proceed with making the deal (partially or in full) or not. This can be viewed as a right to refuse a trade and will in this application be referred to as trade refusal.

Even open trading systems have problems with the above situation since the first order in the queue may be submitted by a counter-part that a user cannot or will not trade with.

There is thus a need of a versatile and easy-to-use system that allows the users of any trading system to reduce their risks but also to define their acceptable market in an individual manner.

SUMMARY

In accordance with the invention a method of matching orders in an electronic trading system is achieved through the steps of receiving an order to trade selecting an order from a queue in an order book of the electronic trading system, the selected order being number two or higher in the queue, and matching the received order with the selected order. Here, a higher queue number of course indicates a lower priority for the order.

The order is essentially based first on best price (sell or buy) and secondly on time for entering the order (an earlier filed order has higher priority, i.e. lower queue number, than an order filed later).

Basically, this means that a user may pick any viewable order in the order book for trading.

In an advantageous embodiment of the method according to the invention, the selection of an order from the order book is based on information regarding the submitters of orders in the order book. This allows the user to select a preferred counterpart for a trade.

An electronic trading system comprising a matching unit and an order book achieves the sought aim through the invention in that the matching unit comprises an identifier for identifying an incoming designated order indicating a selected order in the order book, a comparator associated with the identifier for comparing the designated order and the selected order and a controller associated with the comparator for matching the designated order with the selected order to a degree of correlation between the designated order and the selected order. Indication of a selected order can be based on one or more of submitter name, order number, queue number, price and volume.

In accordance with the invention an alternative method of matching orders in an electronic trading system is also achieved through the steps of receiving an order to trade selecting an order from a queue in an order book of the electronic trading system based on a given name of a supplier of the selected order. Here, the given name of course implies that the system is a non-anonymous trading system.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic drawing of an embodiment of an electronic trading system according to the invention; and

FIGS. 2 and 3 shows a schematic rendering of an order book appearance exemplifying the method according to the invention.

DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS

FIG. 1 discloses a general depicting of an electronic trading market place 101. The electronic trading market place 101 includes a number of user terminals, here represented by a first terminal 102, a second terminal 103, a third terminal 104 and a fourth terminal 105.

It may be noted that the term “terminal” here indicates any device through witch a person may enter commands and receive information (PC, laptop, palm-held devices, mobile phones, etc). Likewise, “trading computers” include any programmable device.

The terminals can communicate with an electronic trading system 106 via a communication link 107. The communication link 107 may consist of any means or combination of means of creating a signal flow, i.e. communication wires, optic fibres, Internet, Ethernet, LAN, etc.

The electronic trading system 106 is now described with reference to functional blocks rather then physical components since it can be made up of essentially any combination of hardware and software for performing the functions.

Thus, the electronic trading system 106 comprises a communication unit 108, a matching unit 109, an order book 110 and an information dissemination unit 111.

The communication unit 108 basically handles communication streams to and from the electronic trading system 106, which may include any necessary signal treatment.

The matching unit 109 is a key component to the entire trading system 106 as it carries out the procedures involved in the trading. One of the main functions for the matching unit 109 is to find matches between orders. The matching unit 109 will be described in more detail below.

The order book 110 is essentially a memory for storing information about all orders that have not found a match yet. The order book may contain separate listings for different instruments that are being traded on the electronic trading system.

The information dissemination unit 111 deals with collecting and distributing (broadcasting) relevant trading information (made trades, contents of order book 110, etc.).

Any matching orders found by the matching unit 109 are formed into a trade and forwarded to a deal capture unit 112 for finalising the trade.

In accordance with the present invention the electronic trading system 106 is capable of allowing users (via the terminals 102, 103, 104, 105) to select a low-ranking order to trade with from the order book 110.

In order to provide for this, the matching unit 109 comprises an identifier 113 for checking whether an incoming order is associated with a specific trade requirement designating a specific order in the order book 110. If there is a specific order designation, the matching unit 109 will, through a comparator 114 and controller 115, check whether the specific order exists and whether it can be matched against the incoming order.

FIG. 2 and FIG. 3 further describe this process.

FIG. 2 shows, in principle, an order book status for an open market (i.e. all users can see who has placed which order). The order book status gives information about bids (left half of the order book) and offers (right half of the order book). The bid half of the order book provides (from left) order number, user, size of order (bid size) and bidding price (buy-price). The offer half of the order book similarly provides (from right) order number, user, size of order (offer size) and offer price (sell-price).

In the order book status there are four orders shown to exemplify how the orders may be depicted. Order No 0001 is a bid for a volume of 100 at a price 2.3 from user A. The meaning of this differs depending on which kind of instrument that is being traded. For instance, in a repo market it may designate that user A wishes to borrow 100 million US$ overnight at an interest of 2.3%.

The other orders present in the order book are all offers. Order No 0002 is an offer from user B to sell (or lend in case of a repo market) 200 at 2.31, order No 0003 is an offer from user C to sell (or lend in case of a repo market) 300 at 2.33, and order No 0004 is an offer from user D to sell (or lend in case of a repo market) 200 at 2.34.

Based on this status in the order book, user E wishes to buy (borrow) 200 at best possible price (interest). However, user E is unable to trade with either of user B and user C due to limits in credibility. The best available offer is from user D, who offers 200 at 2.34.

In a prior art trading system this would mean that user E has no option of getting the loan on this market. In accordance with the present invention, however, user E may send in an order for 200 at 2.34 and designate order 0004 as requested trade counterpart.

This is indicated in FIG. 3, where the designated order from user E is given order No 0005. The designation of user D's offer is indicated by the arrow (the designation of order 0004 need not be visible in or to the order book—it is sufficient that the matching unit has that information).

It is further not necessary that the order that is directed to a specific (non-prioritised) order in the order book matches that order completely. Partial matches can also occur, whereby the remaining parts form a new order (retaining priority). 

1. A data processing system comprising: receiving circuitry configured to receive data transaction processing requests from user terminals over one or more data communications networks; a memory configured to store pending data transaction processing requests in one or more memory queues, each pending data transaction processing request having associated attributes and an associated queue number, wherein a higher queue number associated with a pending data transaction processing request indicates a lower data transaction processing priority than a lower queue number associated with a pending data transaction processing request; transmission circuitry configured to transmit, over the one or more data communications networks to user terminals, data message information that includes an identifier and a current status for each of at least some of the pending data transaction processing requests stored in the one or more memory queues, wherein the receiving circuitry is configured to receive a current data transaction processing request having an identifier for selecting a first pending data transaction processing request that has an associated queue number of two or higher over a lower queue number associated with a second pending data transaction processing request, wherein both the first pending data transaction processing request and the second pending data transaction processing request have associated attributes that match attributes of the current data transaction processing request; and processing circuitry configured to match the current data transaction processing request with the first pending data transaction processing request without matching the second pending data transaction processing request associated with the lower queue number, wherein the second pending data transaction processing request remains stored in the one or more memory queues after matching the current data transaction processing request with the first pending data transaction processing request.
 2. The data processing system of claim 1, wherein the processing circuitry is further configured to: compare attributes the current data transaction processing request and the first pending data transaction processing request, and attempt to match the current data transaction processing request with the first pending data transaction processing request to a predetermined degree of correlation between the current data transaction processing request and the first pending data transaction processing request.
 3. The data processing system according to claim 1, wherein the identifier is based on a data transaction processing request number.
 4. The data processing system according to claim 1, wherein the identifier is based on a queue number.
 5. The data processing system according to claim 1, wherein the processing circuitry is further configured to: select the first pending data transaction processing request based on the identifier in the current data transaction processing request and further based on a first data transaction processing request parameter or a second data transaction processing request parameter.
 6. The data processing system according to claim 1, wherein matching the current data transaction processing request with the first pending data transaction processing request includes a partial match, and wherein a remaining part of a partially-matched current data transaction processing request forms a new pending data transaction processing request stored in the one or more memory queues.
 7. A method of responding to data transaction processing requests on an electronic data transaction processing system, comprising: receiving, by receiving circuitry, data transaction processing requests from user terminals over one or more data communications networks; storing pending data transaction processing requests in one or more memory queues, each pending data transaction processing request having associated attributes and an associated queue number, wherein a higher queue number associated with a pending data transaction processing request indicates a lower data transaction processing priority than a lower queue number associated with a pending data transaction processing request; transmitting, by transmitting circuitry over the one or more data communications networks to user terminals, data message information that includes an identifier and a current status for each of at least some of the pending data transaction processing requests stored in the one or more memory queues; receiving, by the receiving circuitry over the one or more data communications networks, a current data transaction processing request having an identifier for selecting a first pending data transaction processing request that has an associated queue number of two or higher over a lower queue number associated with a second pending data transaction processing request, wherein both the first pending data transaction processing request and the second pending data transaction processing request have associated attributes that match attributes of the current data transaction processing request; and matching, by processing circuitry, the current data transaction processing request with the first pending data transaction processing request without matching the second pending data transaction processing request associated with the lower queue number, wherein the second pending data transaction processing request remains stored in the one or more memory queues after matching the current data transaction processing request with the first pending data transaction processing request.
 8. The method according to claim 7, further comprising the processing circuitry: comparing attributes the current data transaction processing request and the first pending data transaction processing request, and attempting to match the current data transaction processing request with the first pending data transaction processing request to a predetermined degree of correlation between the current data transaction processing request and the first pending data transaction processing request.
 9. The method according to claim 7, wherein the identifier is based on a data transaction processing request number.
 10. The method according to claim 7, wherein the identifier is based on a queue number.
 11. The method according to claim 7, further comprising selecting the first pending data transaction processing request based on the identifier in the current data transaction processing request and further based on a first data transaction processing request parameter or a second data transaction processing request parameter.
 12. The method according to claim 7, wherein matching the current data transaction processing request with the first pending data transaction processing request includes a partial match, and wherein a remaining part of a partially-matched current data transaction processing request forms a new pending data transaction processing request stored in the one or more memory queues.
 13. A non-transitory, computer-readable storage medium storing program instructions, which when executed by a data processing system including one or more computers, cause the data processing system to perform the following actions: receiving data transaction processing requests from user terminals over one or more data communications networks; storing pending data transaction processing requests in one or more memory queues, each pending data transaction processing request having associated attributes and an associated queue number, wherein a higher queue number associated with a pending data transaction processing request indicates a lower data transaction processing priority than a lower queue number associated with a pending data transaction processing request; transmitting, over the one or more data communications networks to user terminals, data message information that includes an identifier and a current status for each of at least some of the pending data transaction processing requests stored in the one or more memory queues, receiving, over the one or more data communications networks, a current data transaction processing request having an identifier for selecting a first pending data transaction processing request that has an associated queue number of two or higher over a lower queue number associated with a second pending data transaction processing request, wherein both the first pending data transaction processing request and the second pending data transaction processing request have associated attributes that match attributes of the current data transaction processing request; and matching the current data transaction processing request with the first pending data transaction processing request without matching the second pending data transaction processing request associated with the lower queue number, wherein the second pending data transaction processing request remains stored in the one or more memory queues after matching the current data transaction processing request with the first pending data transaction processing request.
 14. The non-transitory, computer-readable storage medium according to claim 13, wherein the actions further include: comparing attributes the current data transaction processing request and the first pending data transaction processing request; and attempting to match the current data transaction processing request with the first pending data transaction processing request to a predetermined degree of correlation between the current data transaction processing request and the first pending data transaction processing request.
 15. The non-transitory, computer-readable storage medium according to claim 13, wherein the identifier is based on a data transaction processing request number.
 16. The non-transitory, computer-readable storage medium according to claim 13, wherein the identifier is based on a queue number.
 17. The non-transitory, computer-readable storage medium according to claim 13, wherein the actions further include: selecting the first pending data transaction processing request based on the identifier in the current data transaction processing request and further based on a first data transaction processing request parameter or a second data transaction processing request parameter.
 18. The non-transitory, computer-readable storage medium according to claim 13, wherein matching the current data transaction processing request with the first pending data transaction processing request includes a partial match, and wherein a remaining part of a partially-matched current data transaction processing request forms a new pending data transaction processing request stored in the one or more memory queues. 